"""
字符串的下标（索引）
和其它容器如：列表、元组一样，字符串也可以通过下标进行访问

从前向后，下标从0开始
从后向前，下标从-1开始


同元组一样，字符串是一个：无法修改的数据容器。

"""

# 通过下标获取特定位置字符
name = "zhangSan_张三"
print(name[0])
print(name[-1])

# 尝试修改，会报错
# name[0] = 'a'

# 查找特定字符串的下标索引开始的值，找不到会报错
print(name.index("San"))  # 结果是：S 的索引---> 5


# 获取下标[1, 10)区间内的字符串
data = "Hello world and hello  everyone!"
num = data[1:10]
print(num)

# 字符串的替换，返回新的替换后的字符串，并不会修改原数据
new_data = data.replace("Hello", "你好")
print(data)
print(new_data)


# 字符串的分割，字符串本身不变，而是得到了一个列表对象
data_list = data.split(" ")
print(data)
print(data_list)


# 字符串的规整操作（去前后空格）
print(data.strip())
# 字符串的规整操作（去前后的"H"）
print(data.strip("H"))

# 统计字符串中某字符串的出现次数
print(data.count("ll"))

# 统计字符串的长度
print(len(data))

date = "itheima itcast boxuegu"
num = date.count("it")
print(f"itheima itcast boxuegu 中有：{num}个it字符")
date_replace = date.replace(" ", "|")
print(f"itheima itcast boxuegu 被替换空格后，结果：{date_replace}")
date_split = date_replace.split("|")
print(f"itheima itcast boxuegu 按照 | 分隔后，得到：{date_split}")
